package com.devsoft.foodflip;

public class Map {
	private char[][] map_array;
	
	public Map(){//More food will fall in Arcade Mode
		map_array = new char[16][16];
		//Draw the map
		//1) Fill map with empty character
        for(int i=0;i<16;i++){
        	for(int j=0;j<16;j++){
        		map_array[i][j]=' ';
        		}
        }
        //2) Place player in the middle of the map
        map_array[12][7]='p';
        map_array[12][8]='p';
        map_array[13][7]='p';
        map_array[13][8]='p';
        map_array[14][7]='p';
        map_array[14][8]='p';
        map_array[15][7]='p';
        map_array[15][8]='p';
        //3) Place pan with the player
        map_array[13][6]='x';
	}
	
	public void printMap(){
		//Graphical print on-screen
	}
	
	public void setChar(int x, int y, char c){
		this.map_array[x][y] = c;
	}
	
	public char getChar(int x, int y){
		return this.map_array[x][y];
	}
	
	public void movePlayer(int player_pos, boolean pan_pos, int power_up){
		//Clear old player positions
        for(int i=12;i<16;i++){
               for(int j=0;j<16;j++){
                  if(map_array[i][j]=='p'||map_array[i][j]=='x'){
                                                     map_array[i][j]=' ';
                                                     }
               }
            }
        switch(player_pos){
        	case 1:
        		map_array[12][1]='p';
        		map_array[12][2]='p';
        		map_array[13][1]='p';
        		map_array[13][2]='p';
        		map_array[14][1]='p';
        		map_array[14][2]='p';
        		map_array[15][1]='p';
        		map_array[15][2]='p';
        		if(power_up!=1){//Double Pan power-up
        			if(pan_pos){
        				map_array[13][0]='x';
        			}else{
        				map_array[13][3]='x';
        			}
        		}else{
        			map_array[13][0]='x';
    				map_array[13][3]='x';
        			}
        	break;
        	case 2:
        		map_array[12][4]='p';
        		map_array[12][5]='p';
        		map_array[13][4]='p';
        		map_array[13][5]='p';
        		map_array[14][4]='p';
        		map_array[14][5]='p';
        		map_array[15][4]='p';
        		map_array[15][5]='p';
        		if(power_up!=1){//Double Pan power-up
        			if(pan_pos){
        				map_array[13][3]='x';
        			}else{
        				map_array[13][6]='x';
        			}
        		}else{
        			map_array[13][3]='x';
    				map_array[13][6]='x';
        			}
        	break;
        	case 3:
        		map_array[12][7]='p';
        		map_array[12][8]='p';
        		map_array[13][7]='p';
        		map_array[13][8]='p';
        		map_array[14][7]='p';
        		map_array[14][8]='p';
        		map_array[15][7]='p';
        		map_array[15][8]='p';
        		if(power_up!=1){//Double Pan power-up
        			if(pan_pos){
        				map_array[13][6]='x';
        			}else{
        				map_array[13][9]='x';
        			}
        		}else{
        			map_array[13][6]='x';
    				map_array[13][9]='x';
        			}
        	break;
        	case 4:
        		map_array[12][10]='p';
        		map_array[12][11]='p';
        		map_array[13][10]='p';
        		map_array[13][11]='p';
        		map_array[14][10]='p';
        		map_array[14][11]='p';
        		map_array[15][10]='p';
        		map_array[15][11]='p';
        		if(power_up!=1){//Double Pan power-up
        			if(pan_pos){
        				map_array[13][9]='x';
        			}else{
        				map_array[13][12]='x';
        			}
        		}else{
        			map_array[13][9]='x';
    				map_array[13][12]='x';
        			}
        	break;
        	case 5:
        		map_array[12][13]='p';
        		map_array[12][14]='p';
        		map_array[13][13]='p';
        		map_array[13][14]='p';
        		map_array[14][13]='p';
        		map_array[14][14]='p';
        		map_array[15][13]='p';
        		map_array[15][14]='p';
        		if(power_up!=1){//Double Pan power-up
        			if(pan_pos){
        				map_array[13][12]='x';
        			}else{
        				map_array[13][15]='x';
        			}
        		}else{
        			map_array[13][12]='x';
    				map_array[13][15]='x';
        			}
        	break;
        }
	}
}
